This disclosure relates generally to the field of distributed mainframe software management. More particularly, but not by way of limitation, to a method of providing tracking information for SMP/E based mainframe products at their run-time location.
System Modification Program/Extend (SMP/E) is a shared utility used in conjunction with the z/OS operating system provided by International Business Machines Corporation (IBM) of Armonk N.Y. (z/OS is a registered trademark of the International Business Machines corporation.) SMP/E is the common installation tool for managing operating system components and middleware on z/OS. SMP/E may be used to manage multiple software versions, apply patches and updates, facilitate orderly testing and (if necessary) reversion to a previous state, allow a “trial run” pseudo-installation to verify that actual installation will work, keep audit and security records to assure only approved software updates occur, and otherwise provide centralized control over software installation on z/OS.
Although it is possible to design and ship software products that install on z/OS without SMP/E, most mainframe administrators prefer SMP/E-enabled products, at least for non-trivial packages. Using SMP/E typically requires some working knowledge of Job Control Language (JCL), although most products supply sample JCL. The rigorous software management discipline associated with SMP/E typically extends to product documentation as well, with IBM and other vendors supplying a standardized “Program Directory” manual for each software product that precisely aligns with the SMP/E work processes. The Program Directory provides detailed information on pre-requisites and co-requisites, for example.
Today most Mainframe installations install IBM and other Independent Software Vendor (ISV) products using SMP/E because SMP/E facilitates the download of files/libraries to disk and effectively manages and tracks the maintenance of those libraries. However, mainframe SMP/E based products do not inherently provide a uniform set of fingerprints (e.g., tracking information) within the product libraries themselves. Because of this, a system administrator cannot uniformly query installed product libraries to determine the product description, version, release, or maintenance level without the help of SMP/E itself.
Typically an IT department using SMP/E would install a product in one location once and maintain the level of the contents in that location. Also, companies sometimes do not execute products from the install set of libraries. Instead, it is common for a system administrator to copy the full set of run-time libraries to several locations (sometimes hundreds) via simple copy utilities and allow respective products to execute from those locations. Licensing of products is handled separately from the actual location of a product's installed run-time libraries. At the location where the products are executed the copied libraries are no longer maintained via SMP/E and thus SMP/E cannot be used to query the contents of the execution libraries.
In light of these and other operational shortcomings of SMP/E, there is a need for a method and system to automatically generate and embed information that is, in-turn, made available to SMP/E at product installation time. This causes the actual product's libraries to contain this information that may later be queried regardless of how the run-time versions of the product libraries were distributed. In other words, there is a need to make SMP/E based products self-describing so that a system administrator may query a set of product libraries and determine installation information without SMP/E being involved.